package negocio;

import java.util.List;
import org.apache.ibatis.session.SqlSession;
import bean.Cliente;
import persistencia.mappers.ClienteMapper;
import util.MyBatisUtil;

public class ClienteService {

	public List<Cliente> buscarCliente(Cliente cliente){		
		SqlSession session=MyBatisUtil.getSqlSessionFactory().openSession();
		ClienteMapper clienteMapper=session.getMapper(ClienteMapper.class);	
		List<Cliente> listCliente = clienteMapper.buscarCliente(cliente);
		return listCliente;		
	}
	public List<Cliente> listarClientes(){		
		SqlSession session=MyBatisUtil.getSqlSessionFactory().openSession();
		ClienteMapper clienteMapper=session.getMapper(ClienteMapper.class);		
		List<Cliente> listCliente = clienteMapper.listarClientes();
		session.close();
		return listCliente;		
	}
	public Cliente buscarClienteXdni(String clieDocu){
		SqlSession session=MyBatisUtil.getSqlSessionFactory().openSession();
		ClienteMapper clienteMapper=session.getMapper(ClienteMapper.class);		
		Cliente cliente = clienteMapper.buscarClienteXdni(clieDocu);
		session.close();
		return cliente;			
	}
	public Cliente buscarClienteCodigo(int clieCodi){
		SqlSession session=MyBatisUtil.getSqlSessionFactory().openSession();
		ClienteMapper clienteMapper=session.getMapper(ClienteMapper.class);		
		Cliente cliente = clienteMapper.buscarClienteCodigo(clieCodi);
		session.close();
		return cliente;			
	}
	public void registrarCliente(Cliente cliente) throws Exception{
		SqlSession session=MyBatisUtil.getSqlSessionFactory().openSession();
		ClienteMapper clienteMapper=session.getMapper(ClienteMapper.class);
		clienteMapper.registrarCliente(cliente);
		session.commit();
		session.close();
	}
	public void eliminarCliente(int clieCodi) throws Exception{
		SqlSession session=MyBatisUtil.getSqlSessionFactory().openSession();
		ClienteMapper clienteMapper=session.getMapper(ClienteMapper.class);
		clienteMapper.eliminarCliente(clieCodi);
		session.commit();
		session.close();
	}
	public void actualizarCliente(Cliente cliente) throws Exception{
		SqlSession session=MyBatisUtil.getSqlSessionFactory().openSession();
		ClienteMapper clienteMapper=session.getMapper(ClienteMapper.class);
		clienteMapper.actualizarCliente(cliente);
		session.commit();
		session.close();		
	}	
	
}
